//
//  StatusSettingsController.h
//  Statz
//
//  Created by dmaclach on 6/19/07.
//
// Copyright 2007 Google Inc.
// 
// Licensed under the Apache License, Version 2.0 (the "License"); you may not
// use this file except in compliance with the License.  You may obtain a copy
// of the License at
// 
// http://www.apache.org/licenses/LICENSE-2.0
// 
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
// License for the specific language governing permissions and limitations under
// the License.
//

#import "StatzSource.h"
@class AppDelegate;
@class StatusSettingsArrayController;

@interface StatusSettingsController : NSWindowController {
  IBOutlet NSTableView *sourceTable_;
  IBOutlet NSTableView *statusTable_;
  IBOutlet StatusSettingsArrayController *sourcesController_;
  IBOutlet NSArrayController *statusesController_;
  IBOutlet NSPopUpButton *variablesPopup_;
  IBOutlet NSPopUpButton *masterStatePopup_;
  IBOutlet NSPopUpButton *statePopup_;
  IBOutlet NSView *aboutView_;
  IBOutlet NSSegmentedControl *gearControl_;
  IBOutlet NSMenu *gearMenu_;
  IBOutlet NSMenu *accountsMenu_;
  IBOutlet NSSegmentedControl *addRemoveControl_;
  IBOutlet NSView *accountSettings_;
  IBOutlet NSTextField *appName_;
  IBOutlet NSTextField *appVersion_;
  IBOutlet NSTextField *appCopyright_;
  IBOutlet NSTextField *username_;
  IBOutlet NSTextField *password_;
  
  BOOL showAccountSettings_;
  BOOL windowLoaded_;
  BOOL settingMasterState_;
  Status *statusToEdit_;
  AppDelegate *delegate_;
}
- (id)initWithDelegate:(AppDelegate*)delegate;
- (IBAction)editSelectedSourceName:(id)sender;
- (IBAction)addSource:(id)sender;
- (IBAction)removeSource:(id)sender;
- (IBAction)statusSelected:(id)sender;
- (IBAction)about:(id)sender;
- (IBAction)hideAbout:(id)sender;
- (BOOL)handleKeyDown:(NSEvent*)event;
- (void)setShowAccountSettings:(BOOL)show;
- (BOOL)showAccountSettings;
- (IBAction)toggleShowAccountSettings:(id)sender;

@end
